A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
This invention relates generally to complex digital system design and more particularly to building a hardware description language representation of control logic for a complex digital system.
The behavior of electronic digital circuitry is dictated by control logic. The control logic in a simple digital system, such as a counter, can be mathematically defined and is relatively straightforward to design. Conversely, the control logic in a complex digital system, such as a microprocessor, must express a multitude of finite logic states and the amount of information conveyed is often too extensive for a human designer to comfortably comprehend. Consequently, computer-assisted design tools are often used to assist with the control logic design for complex digital systems and can also be used to simulate and test the intended behavior of the digital circuitry prior to actual synthesis into an integrated circuit.
One method of control logic design involves expressing the control logic as microcode which is burned or programmed into a read-only memory device, a gate array, a programmable logic device or similar logic block. During use of such a device, an address is input to the microcoded logic block which outputs the contents stored at that address, or a function of those contents, as control signals. Due to its similarity to a traditional computer program, microcode is easy to define and maintain. However, microcode is difficult to simulate and test using the computer-assisted design tools and is hard to synthesize into compact and fast logic blocks.
Another method of control logic design involves describing the control logic in a hardware description language, such as the Very High Speed Integrated Circuits Hardware Description Language (VHDL). With this design method, the structure and behavior of the circuit are specified in a source code file written in a hardware description language. The control logic can then be simulated and tested using the appropriate software packages and can be automatically synthesized into an electronic circuit. However, large control blocks, such as for microprocessor control, require a lengthy source code file and often contain a large amount of repeated code. The size of the source code file and the degree of code repetition make it difficult to maintain and develop complex digital systems using this method.
Therefore, there is a need for an apparatus and method for facilitating control logic design for a complex digital system using a hardware description language representation while avoiding the creation of a single monolithic hardware description language source code file containing repetitious segments of microcode.